Repository navigation
fix(companion): keep live transcript tail visible - #74
Merged
Merged
Conversation
Why: The call bar retained the newest text in data but ellipsized its right edge, hiding the words that had just streamed in. Separate the stable speaker label from a tail-oriented overflow region, prove both roles in a narrow Chromium surface, and pin the exact alpha.20 artifact without changing call or media behavior. [小太阳·砚砚/gpt-5.6-sol🐾] Thread-Context: threadId=thread_muj2oyola5htyhrm catId=codex-sol
Why: Tail-oriented overflow fixed the reported Chinese and Latin call-bar clipping but reversed the logical tail for right-to-left text. Use the browser's native bidi direction, preserve the correct overflow edge for both directions, and strengthen the real-layout regression so punctuation, short alignment, ellipsis, and RTL tails cannot silently regress. [小太阳·砚砚/gpt-5.6-sol🐾] Thread-Context: threadId=thread_muj2oyola5htyhrm catId=codex-sol
Why: A compact live transcript can change writing direction as new chunks arrive, so first-strong direction can still hide the newest suffix. Resolve and display against the last strong character, then cover both direction changes and a 60-step mixed stream in Chromium. [小太阳·砚砚/gpt-5.6-sol🐾] Thread-Context: threadId=thread_muj2oyola5htyhrm catId=codex-sol
Why: The renderer intentionally reverses Unicode code points when resolving the latest strong direction. Guard an Adlam tail so a future code-unit reversal cannot silently corrupt supplementary-plane RTL text while ordinary Arabic and Hebrew tests remain green. [小太阳·砚砚/gpt-5.6-sol🐾] Thread-Context: threadId=thread_muj2oyola5htyhrm catId=codex-sol
Owner
Author
Local review provenance — APPROVE
Final PR HEAD is Continuity proof:
This comment is an author-side mechanical transcription of the independent typed verdict and continuity evidence; it is not a self-review. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
@clowder-ai/companion@0.1.0-alpha.20candidate in the public catalog.Original problem
In the real F317 call bar, both long live rows ended in a right-side ellipsis, so the words that had just streamed in were present in data but not visible. The accepted B boundary also requires the source/name labels, transcript return path, and call/microphone/share state to remain intact.
Source:
thread_mu2fdr0521qiinkm#0001791162625965-000203-369096daEvidence
943c230: the user tail range was at x=1401..1497while its row ended at x=359in a 390px Chromium viewport.ebcbe3b: 9/60 streamed LTR→Arabic steps hid the latest suffix.aac65166aa7911d61573d31876dc43c0cc99e84b: Chinese, Latin, Arabic, Hebrew, and both mixed-direction suffixes are hit-testable inside their rows; the same 60-step stream reports 0/60 hidden tails.aac65166aa7911d61573d31876dc43c0cc99e84bwith no open P1/P2. Final HEAD6349fa51d908381b53d1ed8fc6b794d45b3ac30dadds only the reviewer-requested Adlam browser guard: replacingArray.fromwith UTF-16split('')makes the new assertion RED, while restoring code-point reversal makes it GREEN.aac65166..6349fa5changes onlypackages/companion/test/panel-layout.browser.mjs; exact repack remains byte-identical to the reviewed artifact.node@24.18.0 --test packages/companion/test/*.test.mjs— 153/153 pass.node@24.18.0 --test packages/companion/test/panel-layout.browser.mjs— 7/7 pass.node@24.18.0 packages/companion/scripts/check.mjs— pass./tmp/cat-cafe-evidence/f317-live-tail/author-p4-green/shot-callbar-w390.png.Artifact
6349fa51d908381b53d1ed8fc6b794d45b3ac30d@clowder-ai/companion@0.1.0-alpha.20sha512-R7KbX0EZAvE3Ll4S7d9lSrk5zIkBe8jnIHpdh82lE7v+mqoXtkDUifbXCYuEdMoDcEgkq/r49M9VBHnx9vtk6A==ac97cb246ab15f64ecb8404a73eeb3e58b59fc3d44c91e79d88b2b1b074f27b1310ec52715142adb0cd0b8f2fcfea3db9954ab4cDeliberate compact-view trade-offs
No runtime, call, microphone, speaker, or screen-share action was started or stopped for this fix.